Compilation of a Skeleton-Based Parallel Language Through Symbolic Cost Analysis and Automatic Data Distribution

نویسنده

  • Julien MALLET
چکیده

We present a skeleton-based language which leads to portable and cost-predictable implementations on MIMD computers. The compilation process is described as a series of program transformations. We focus in this paper on the step concerning the distribution choice. The problem of automatic mapping of input vectors onto processors is addressed using symbolic cost evaluation. Source language restrictions are crucial since they permit to use powerful techniques on polytope volume computations to evaluate costs precisely. The approach can be seen as a cross-fertilization between techniques developed within the FORTRAN parallelization and skeleton communities. Compilation d'un langage patrons paralllles avec analyse de coot symbolique et distribution automatique des donnnes RRsumm : Nous prrsentons un langage patrons dont l'impllmentation sur les machines MIMD est portable et a un coot prrdictible. Le processus de compilation est ddcrit par une suite de transformations de programmes. Nous nous concentrons, dans ce rapport, sur l''tape du choix de la meilleure distribution des donnnes. Le choix automatique de l'allocation des vecteurs d'entrre sur les processeurs s'appuye sur une valuation du coot symbolique. Les restrictions du langage source permettent d'utiliser des techniques classiques et puissantes, basses sur les polytopes pour valuer prrcissment le coot. Notre approche peut tre vue comme un exemple de fertilisa-tion croisse entre les techniques ddveloppes dans le domaine de la parallllisation FORTRAN et celles ddveloppes dans le domaine des langages patrons.

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Compilation of a specialized functional language for massively parallel computers

We propose a parallel specialized language that ensures portable and costpredictable implementations on parallel computers. The language is basically a rst-order, recursion-less, strict functional language equipped with a collection of higher-order functions or skeletons. These skeletons apply on (nested) vectors and can be grouped in four classes: computation, reorganization, communication, an...

متن کامل

A Framework for Integrating Data Alignment, Distribution, and Redistribution in Distributed Memory Multiprocessors

ÐParallel architectures with physically distributed memory provide a cost-effective scalability to solve many large scale scientific problems. However, these systems are very difficult to program and tune. In these systems, the choice of a good data mapping and parallelization strategy can dramatically improve the efficiency of the resulting program. In this paper, we present a framework for au...

متن کامل

Eden - Parallel Functional Programming with Haskell

Eden is a parallel functional programming language which extends Haskell with constructs for the definition and instantiation of parallel processes. Processes evaluate function applications remotely in parallel. The programmer has control over process granularity, data distribution, communication topology, and evaluation site, but need not manage synchronisation and data exchange between proces...

متن کامل

Towards Automatic Support of Parallel Sparse

In this paper, we present a generic matrix class in Java and a runtime environment with continuous compilations aiming to support automatic parallelization of sparse computations on distributed environments. Our package comes with a collection of matrix classes including operators of dense matrix, sparse matrix, and parallel matrix on distributed memory environments. In our environment, a progr...

متن کامل

A Scheme for Nesting Algorithmic Skeletons

A scheme for arbitrary nesting of algorithmic skeletons is explained which is based on the idea of groups in MPI. The scheme is part of a semi-automatic compilation system which generates parallel code for nested HOFs. Two skeletons were developed which run in a nested mode: a binary divide and conquer and a process farm for a parallel implementation of fold and map HOFs respectively. Examples ...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2007